home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / BORLAND TURBO / RTLWIN32.PAK / FTSIFACE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-06  |  6.7 KB  |  159 lines

  1. /*++
  2.  
  3. Copyright (c) 1993-1996  Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     ftsiface.h
  8.  
  9. Abstract:
  10.  
  11.     Interface to the full text seach DLL (ftsrch.dll) distributed with WinHelp
  12.  
  13. Revision History:
  14.  
  15.     Introduced with Windows 95 and Windows NT 3.51
  16.  
  17. --*/
  18.  
  19. #ifndef __FTSIFACE_H__
  20. #define __FTSIFACE_H__
  21. #pragma option -b
  22.  
  23. typedef HANDLE HINDEX;
  24. typedef HANDLE HSEARCHER;
  25. typedef HANDLE HCOMPRESSOR;
  26. typedef HANDLE HHILITER;
  27. typedef INT    ERRORCODE;
  28. typedef struct { int base; int limit; } HILITE;
  29.  
  30. #define NO_TITLE              UINT(-1)  // ERRORCODE values
  31. #define NOT_INDEXER           UINT(-2)
  32. #define NOT_SEARCHER          UINT(-3)
  33. #define NOT_COMPRESSOR        UINT(-4)
  34. #define CANNOT_SAVE           UINT(-5)
  35. #define OUT_OF_MEMORY         UINT(-6)
  36. #define CANNOT_OPEN           UINT(-7)
  37. #define CANNOT_LOAD           UINT(-8)
  38. #define INVALID_INDEX         UINT(-9)
  39. #define ALREADY_WEIGHED       UINT(-10)
  40. #define NO_TEXT_SCANNED       UINT(-11)
  41. #define ALIGNMENT_ERROR       UINT(-12)
  42. #define INVALID_PHRASE_TABLE  UINT(-13)
  43. #define INVALID_LCID          UINT(-14)
  44. #define NO_INDICES_LOADED     UINT(-15)
  45. #define INDEX_LOADED_ALREADY  UINT(-16)
  46. #define GROUP_LOADED_ALREADY  UINT(-17)
  47. #define DIALOG_ALREADY_ACTIVE UINT(-18)
  48. #define EMPTY_PHRASE_TABLE    UINT(-19)
  49. #define OUT_OF_DISK           UINT(-20)
  50. #define DISK_READ_ERROR       UINT(-21)
  51. #define DISK_WRITE_ERROR      UINT(-22)
  52. #define SEARCH_ABORTED        UINT(-23)
  53. #define UNKNOWN_EXCEPTION     UINT(-24)
  54. #define SYSTEM_ERROR          UINT(-25)
  55. #define NOT_HILITER              UINT(-26)
  56. #define INVALID_CHARSET       UINT(-27)
  57. #define INVALID_SOURCE_NAME   UINT(-28)
  58. #define INVALID_TIMESTAMP     UINT(-29)
  59.  
  60. // -------------- Index Construction Interface ---------------------------
  61.  
  62. #define TOPIC_SEARCH    0x00000001   // Options for NewIndex
  63. #define PHRASE_SEARCH   0x00000002
  64. #define PHRASE_FEEDBACK 0x00000004
  65. #define VECTOR_SEARCH   0x00000008
  66. #define WINHELP_INDEX   0x00000010
  67. #define USE_VA_ADDR     0x00000020
  68. #define USE_QWORD_JUMP  0x00000040
  69.  
  70. #define USE_DEFAULT     UINT(-1) // Surrogate for default charset or default lcid
  71.  
  72. extern "C" HINDEX APIENTRY NewIndex(const PBYTE pbSourceName,
  73.                            UINT uiTime1, UINT uiTime2,
  74.                            UINT iCharsetDefault, UINT lcidDefault, UINT fdwOptions                 
  75.                           );                                                     
  76.  
  77. extern "C" ERRORCODE APIENTRY ScanTopicTitle(HINDEX hinx, PBYTE pbTitle, UINT cbTitle, 
  78.                                     UINT iTopic, HANDLE hTopic, UINT iCharset, UINT lcid
  79.                                    );
  80. extern "C" ERRORCODE APIENTRY ScanTopicText (HINDEX hinx, PBYTE pbText, UINT cbText, UINT iCharset, UINT lcid);
  81. extern "C" ERRORCODE APIENTRY SaveIndex     (HINDEX hinx, PSZ pszFileName);
  82. extern "C" ERRORCODE APIENTRY DeleteIndex   (HINDEX hinx);
  83.  
  84. typedef void  (__stdcall *ANIMATOR)(void);
  85.  
  86. extern "C" ERRORCODE APIENTRY RegisterAnimator(ANIMATOR pAnimator, HWND hwndAnimator);
  87.  
  88. // ----------------- Querying the Validity of an Index File --------------
  89.  
  90. extern "C" BOOL      APIENTRY IsValidIndex(PSZ pszFileName, UINT dwOptions);
  91.  
  92. extern "C" void      APIENTRY SetDirectoryLocator(HWND hwndLocator);
  93.  
  94. // ----------------- Searcher Interface ----------------------------------
  95.  
  96. extern "C" HSEARCHER APIENTRY NewSearcher();                                          
  97.  
  98. extern "C" INT       APIENTRY OpenIndex(HSEARCHER hsrch, PSZ pszIndexFileName,        // returns iIndex for index file
  99.                                PBYTE pbSourceName, PUINT pcbSourceNameLimit, // or      -ErrorCode
  100.                                PUINT pTime1, PUINT pTime2
  101.                               );
  102.  
  103. extern "C" ERRORCODE APIENTRY DiscardIndex  (HSEARCHER hsrch, INT iIndex);
  104. extern "C" ERRORCODE APIENTRY QueryOptions  (HSEARCHER hsrch, INT iIndex, PUINT pfdwOptions);
  105. extern "C" ERRORCODE APIENTRY SaveGroup     (HSEARCHER hsrch, PSZ pszFileName);
  106. extern "C" ERRORCODE APIENTRY LoadGroup     (HSEARCHER hsrch, PSZ pszFileName);
  107. extern "C" HWND      APIENTRY OpenDialog    (HSEARCHER hsrch, HWND hwndParent);
  108. extern "C" ERRORCODE APIENTRY DeleteSearcher(HSEARCHER hsrch);
  109.  
  110. // Messages for talking to WinHelp
  111.  
  112. #define MSG_FTS_JUMP_HASH    (WM_USER + 32)  // wParam = index, lParam = HashValue
  113. #define MSG_FTS_JUMP_VA     (WM_USER + 33)  // wParam = index, lParam = VirtualAddress
  114. #define MSG_FTS_GET_TITLE    (WM_USER + 34)    // wParam = index, lParam = &pszTitle
  115. #define MSG_FTS_JUMP_QWORD  (WM_USER + 35)  // wParam = index, lParam = address of QWordAddress structure
  116. #define MSG_REINDEX_REQUEST (WM_USER + 36)  // wParam = unused,lParam = unused
  117. #define MSG_FTS_WHERE_IS_IT (WM_USER + 37)    // wParam = fStartEnumeration, lParam = &pszFile
  118. #define MSG_GET_DEFFONT     (WM_USER + 45)    // return default font handle
  119.  
  120. typedef struct _QWordAddress
  121.         {
  122.             UINT   iSerial;
  123.             HANDLE hTopic;
  124.  
  125.         } QWordAddress, *PQWordAddress;
  126.  
  127. // ------------------- Phrase Compression Interface ----------------------
  128.  
  129. extern "C" HCOMPRESSOR APIENTRY NewCompressor(UINT iCharsetDefault);
  130.  
  131. extern "C" ERRORCODE   APIENTRY ScanText(HCOMPRESSOR hcmp, PBYTE pbText, UINT cbText, UINT iCharset);
  132.  
  133. extern "C" ERRORCODE   APIENTRY GetPhraseTable(HCOMPRESSOR hcmp, PUINT pcPhrases, PBYTE *ppbImages, PUINT pcbImages,            
  134.                                       PBYTE *ppacbImageCompressed, PUINT pcbCompressed
  135.                                      );
  136.  
  137. extern "C" ERRORCODE   APIENTRY SetPhraseTable(HCOMPRESSOR hcmp, PBYTE pbImages, UINT cbImages,
  138.                                       PBYTE pacbImageCompressed, UINT cbCompressed
  139.                                      );
  140.  
  141. extern "C" INT APIENTRY CompressText  (HCOMPRESSOR hcmp, PBYTE pbText,       UINT cbText,       PBYTE *ppbCompressed, UINT iCharset);      
  142. extern "C" INT APIENTRY DecompressText(HCOMPRESSOR hcmp, PBYTE pbCompressed, UINT cbCompressed, PBYTE  pbText                      );
  143.  
  144. extern "C" ERRORCODE   APIENTRY DeleteCompressor(HCOMPRESSOR hcmp);
  145.  
  146. //----------------------- Hiliting Interface ------------------------------
  147.  
  148. extern "C" HHILITER APIENTRY NewHiliter(HSEARCHER hSearch);
  149. extern "C" ERRORCODE APIENTRY DeleteHiliter(HHILITER hhil);
  150. extern "C" ERRORCODE APIENTRY ScanDisplayText(HHILITER hhil, PBYTE pbText, int cbText, 
  151.                                                       UINT iCharset, LCID lcid);
  152. extern "C" ERRORCODE APIENTRY ClearDisplayText(HHILITER hhil);
  153. extern "C" int APIENTRY CountHilites(HHILITER hhil, int base, int limit);
  154. extern "C" int APIENTRY QueryHilites(HHILITER hhil, int base, int limit,
  155.                                                       int cHilites, HILITE* paHilites);
  156.  
  157. #pragma option -b.
  158. #endif // __FTSIFACE_H__
  159.